This repository was archived by the owner on Aug 3, 2024. It is now read-only.
Fix #548 by rendering datatype kinds more carefully #702
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Before, any data type that was loaded from an interface file (i.e., any data type that passes through
Haddock.Convert
) was displaying utterly wrong kind information, leading to #548. For example, one can see this effect on themtl
Haddocks on Hackage:Yuck! That return kind is utterly bogus, given that it also displays the type variables of
StateT
.The simplest fix (adopted here) is to only display the return kind. Moreover, since we're dealing with data types here, I opt not to display the return kind if it's
*
(since that is what it will be by default anyways).After this change, here is what
StateT
looks like now:(Haddock also now appears to render the kind signature of
m
. I wasn't responsible for making that happen, but it's fortunate that Haddock does this, as it's important to ensure that the same kind information is still presented to the user.)